const { createStore } = require("redux")

// 初始化的数据 （需要存入到redux中，进行管理的数据）
const initialState = {
  name: 'jay',
  counter: 100
}

/* 
 * 定义reducer纯函数 (函数名随便取的)
 * 【参数一】： store中 目前保存的state（数据）
 * 【参数二】： dispatch 传递过来的 action
 * 【返回值】： 会作为store之后存储的 新state（数据）
*/
function reducer(state = initialState, action) {
  if (action.type === 'change_name') {
    return { ...state, name: action.name }
  }else if (action.type === 'change_counter'){
    return { ...state, counter: action.counter }
  }
  // 没有新数据更新时，返回之前的state 
  return state
}

// 创建store（ 传入的reducer函数会自动执行）
const store = createStore(reducer)

// 导出
module.exports = store